This invention relates to neurocomputers which imitate a biological neural network to provide an associative and/or pattern recognition function.
A conventional optical neurocomputer such as described in Applied Optics, 1985, Vol. 24, No. 10, p. 1469, is shown in FIG. 8. This optical neurocomputer includes an array of light emitting elements 1, a correlation matrix mask 2 for performing optical modulation, an array of light receiving elements 3 for receiving optical signals, and a threshold element 5 for comparing the output of the light receiving array 3 with the threshold value.
A conventional image processing optical neurocomputer such as described in Optics Letters, 1988, Vol. 13, No. 3, pp. 248-250, is shown in FIG. 9. This image processing optical neurocomputer includes a spatial light modulator 101 to which uniform incident light rays 107 are applied, a hologram 102 having a correlation matrix, a light receiving array 106, and a comparator 5.
The operation of the above neurocomputers is based on the neural network model proposed by Hopfield in, for example, Proceedings of National Academy of Science, U.S.A., 1982, Vol. 79, pp. 2554-2558. According to this model it is possible to make an associative memory for selecting information closest to an input vector Si.sup.(mo) from M pieces of N-dimensional vector information Si.sup.(m), wherein i=1, 2, . . . , N, m=1, 2, . . . M, and Si.sup.(m) .epsilon. {1, -1}.sup.N fov m, which have been stored in advance.
The stored information is given by the correlation matrix 2 of FIG. 8 or hologram 102 of FIG. 9. The correlation matrix Tij is given by ##EQU1## For simplification, it is assumed that there is little correlation between the stored information vectors. In other words, the stored information vectors are orthogonal each other. That is to say, ##EQU2## If Si.sup.(mo) is an incomplete input vector close to Si.sup.(m), the product of Si.sup.(mo) and the correlation matrix is given by ##EQU3## wherein O(x) is the increment of x order. Thus, it is possible to output the stored information vector closest to the input vector by subjecting the output TijSi.sup.(mo) to a highly non-linear operation and feeding the result back to the input.
In FIG. 8, the neuron states are represented by ON/OFF of the light emitting elements 1 by using the threshold element 5 as a non-linear operator and a unipolar vector as EQU Vi=(Si+1)/2. (4)
The product of the correlation matrix and the neuron state vector EQU Ui=Tij Vi (5)
is represented by the output of the light receiving array 3. This product Ui is subjected to a threshold process EQU Vi=(Ui-Uth) (6)
wherein (x) is 1 for x&gt;0 and 0 for x.ltoreq.0, and the result Vi is fed back to the input. The relationship between the number of pieces of stored information (M) and the number of neurons (N) is expressed by EQU M.perspectiveto.N/(4 log N). (7)
In FIG. 9, in order to handle 2-dimensional information such as picture information, the vector component of a neuron (Si) is converted into a unipolar vector (Vi) as described above EQU Vi=(Si+1)/2. (4)
In order to convert the unipolar vector (Vi) to a matrix (Xkl) of L rows and L columns, a transformation (.tau.) is performed ##EQU4## wherein N=L.sup.2. The states of neurons arranged in the form of a matrix (Xkl) are represented by ON/OFF of the spatial light modulator 101 to modulate the uniform incident light 107.
The correlation matrix (Tij) performs transformation (.tau.) for each component (j) of every column to provide N submatrices of L rows and L columns (Y.sub.pq.sup.(kl)). Namely, ##EQU5## The sum of vector products of Eq. (3) becomes ##EQU6##
In FIG. 9, the correlation matrix (Y.sub.pq.sup.(kl)) is stored in the hologram 102. The incident light 107 from a portion (Xkl) of the spatial light modulator 101 strikes the corresponding submatrix Y.sup.(kl) of the hologram 102. The incident light is diffracted in different directions for each component Y.sub.pq.sup.(kl) of the submatrix Y.sup.(kl). The receiving array 106 is placed at a focus of the diffracted light rays from the entire matrix to output a signal (Xpq). This signal Xpq is subjected to a threshold process in the comparator 5 as a non-linear operator, and the result is fed back to the spatial light modulator 101 as an input signal Xkl. EQU Xpq=(Xpq-Xth) (6')
wherein (x)=1 if x&gt;0 and 0 if x.ltoreq.0.
A conventional optical associative neurocomputer such as described in Electronic Information Communications Society of Japan, Opitical Quantum Electronics Study Group Papers OQE 97-174, 1988 is shown in FIG. 10. This optical associative neurocomputer includes an input terminal 108 into which incomplete information is put, a pair of light emitting diode arrays 1a and 1b, a pair of optical masks 2a and 2b, a pair of light receiving arrays 3a and 3b, a differential amplifier array 4, a comparator array 5, and an output terminal 109 from which complete information is put out.
In operation, the LED arrays 1a and 1b apply fan-shaped light beams to the optical masks 2a and 2b. Each LED array 1a, 1b is turned on or off to represent a logic 1 or 0, thus representing a sort of vector V=(V.sub.1, V.sub.2, . . . V.sub.n). Each optical mask 2a, 2b, which is divided into (n.times.n) elements, each having a different optical transmittance, represents a sort of matrix T=[Tij]. The receiving arrays 3a, 3b represent a sort of vector U=(U.sub.1, U.sub.2, . . . U.sub.n). By irradiating the j-th row of the optical mask with the j-th LED and receiving the light from the i-th column of the optical mask with the i-th receiving element, it is possible to perform the following vector matrix operation: ##EQU7##
In the neurocomputer, information is stored in joint between neurons. In this optical associative neurocomputer, information is stored in the transmittance (T) of an optical mask. The rule of this information storage based on the following Hopfield's model is given by ##EQU8## Since it is impossible to handle negative values of Tij in optics, a pair of optical systems (Ui.sup.(+), Ui.sup.(-)) are made corresponding to positive values Tij.sup.(+) and the negative values Tij.sup.(-). The difference between the two systems obtained from the differential amplifier 4 is EQU Ui=Ui.sup.(+) -Ui.sup.(-). (10)
This output signal is subjected to a threshold process in the comparator 5 as follows EQU Vi=.theta.(Ui) (6)
wherein .theta. (x)=1 if x&gt;0 and 0 if x.ltoreq.0. Then, the result is fed back to the LED arrays 1a, 1b.
By storing three pieces of information corresponding to alphabets A, J, and E, for example, in the optical masks 2a, 2b, if incomplete information A', for example, is put into the LED 1a, 1b, the output after repeated feedback is complete information A which is closest to the input information A'. In other words, the energy of the system takes the lowest value at the stored information A, J, and E; when incomplete information is given, the on/off states of an LED array change, which in turn changes the entire system so that the energy around the incomplete information takes the lowest value.
In order to increase the number of pieces of information (M) stored in the conventional neurocomputer, it is necessary to increase the number of neurons (N) according to Eq. (7). Consequently, the size of a LED array, receiving array, and/or correlation matrix becomes so large that the entire system becomes large. In addition, the increased number of neurons makes alignment of the optics difficult. Since a great number of light rays are diffracted by the hologram in the embodiment of FIG. 9, it is difficult to make such a hologram. In the embodiment of FIG. 10, two optical systems are required corresponding to positive and negative values of the Tij matrix, making the system complex.